نمایش نتایج: از شماره 1 تا 5 از مجموع 5
Like Tree7نفر پسندیدند
  • 3 ارسال توسط MoJTaBa
  • 2 ارسال توسط MoJTaBa
  • 1 ارسال توسط Hossein
  • 1 ارسال توسط MoJTaBa

موضوع: جمع دو عدد اعشاری به صورت Floating Point

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 October
    ارسال ها
    29
    تشکر
    118
    تشکر شده 153 بار در 36 پست
    نوشته های وبلاگ
    1


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    جمع دو عدد اعشاری به صورت Floating Point

    عدد اعشاری ممیز شناور Floating Point :

    یکی از روش های نمایش اعداد اعشاری در زبان ماشین Floating Point است. در این روش عدد را به صورت X * 10yنمایش می دهند. که برای مثال X در 8 بیت پر ارزش یک عدد 16 بیتی و y را در 8 بیت کم ارزش آن قرار داده و محاسبات را به وسیله آن انجام می دهند.

    جمع دو عدد به صورتFloating Point :

    برای جمع دو عدد به صورت Floating Point مناسب ترین روش این است که عددی که نمای(y) بزرگتری دارد را آنقدر کم کنیم تا با نمای عدد دوم برابر شود. و باید به تعداد دفعاتی که نمای عدد کم می شود، X در 10 ضرب گردد.
    حال که نمای دو عدد برابر شد ، نمای عدد نتیجه برابر نمای یکی از دو عدد و X آن برابر جمع X های دو عدد است.



    PAGE 110,100
    TITLE 'Add_Floating_Point.ASM' add two ASCII
    ;-----------------------------------------------
    ; Defining segment of program
    ; ---------------------------
    CODESG SEGMENT
    ASSUME SS:CODESG,DS:CODESG,CS:CODESG
    ORG 100H
    START: JMP MAIN ;1-Jump over data
    ;
    ; 1- Define data
    ; --------------

    A DD ?
    B DD ?
    C DD ?
    ALEFT DW 314
    ARIGHT DW -2
    BLEFT DW 30
    BRIGHT DW -1




    ;
    ; 2- The rest of instructions
    ; ---------------------------
    MAIN PROC NEAR
    ;
    MOV AX,ARIGHT
    MOV A,AX
    MOV AX,ALEFT
    MOV A+2,AX
    MOV AX,BRIGHT
    MOV B,AX
    MOV AX,BLEFT
    MOV B+2,AX
    ;
    MOV BX,A
    CMP BX,WORD PTR B
    JZ PO1
    JC PO2
    ;
    MOV AX,A+2
    FOR2:
    MOV DL,10
    MUL DX
    DEC WORD PTR A
    MOV CX,A
    CMP CX,WORD PTR B
    JNZ FOR2
    MOV A+2,AX
    JMP PO1
    ;
    PO2:

    MOV AX,B+2
    FOR1:
    MOV DL,10
    MUL DX
    DEC WORD PTR B
    MOV CX,A
    CMP CX,WORD PTR B
    JNZ FOR1
    MOV B+2,AX
    JMP PO1

    PO1:
    MOV AX,A
    ;NEG AX
    MOV C,AX
    MOV AX,A+2
    ADD AX,B+2
    MOV C+2,AX

    ;
    MOV AX,4C00H ;8- End of
    INT 21H ;9- processing
    MAIN ENDP ; End of procedure
    CODESG ENDS ; End of segment
    END START ; End of program
    ;By : Mojtaba Alizadeh Mojia91@yahoo.com




    موضوعات مشابه:
    فایل های پیوست شده
    ویرایش توسط MoJTaBa : 12th April 2012 در ساعت 10:55 PM
    Hossein, Shojaee و mora این نویسه را میپسندند.

  2. #2
    مدیر بازنشسته
    تاریخ عضویت
    2011 October
    محل سکونت
    قائم شهر
    ارسال ها
    189
    تشکر
    308
    تشکر شده 525 بار در 195 پست
    نوشته های وبلاگ
    5


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط MoJTaBa نمایش پست ها
    و باید به تعداد دفعاتی که نمای عدد کم می شود، X در 10 ضرب گردد.
    اگه توان بزرگ باشه ما بخواهیم عدد رو در 10 ضرب کنیم در ثبات ax چرا بعد از چند بار اجرا مقدار صفر میشه؟؟
    با تشکر


  3. #3
    مدیر بازنشسته
    تاریخ عضویت
    2011 October
    ارسال ها
    29
    تشکر
    118
    تشکر شده 153 بار در 36 پست
    نوشته های وبلاگ
    1


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط visualizer نمایش پست ها
    اگه توان بزرگ باشه ما بخواهیم عدد رو در 10 ضرب کنیم در ثبات ax چرا بعد از چند بار اجرا مقدار صفر میشه؟؟ با تشکر
    احتمالاً چون از ضرب 8 بیتی استفاده کردی ،بعد از چند بار ضرب ممکنه نتیجه ی وارد شده ضرب طوری بشه که در هشت بیت کم (al) ارزش 0 و در 8 پر ارزش مثلاً 12h قرار بگیره که با دستور ضرب mul cl یا هر اُپراند 8 بیتی دیگه ، نتیجه ی ضرب صفر میشه.
    برای حل مشکل میشه از ضرب 16 یا 32 بیتی استفاده کرد.

    Hossein و Ramin-hst این را میپسندند

  4. #4
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    دلیل اینکه وقتی ضربهات از یه حدی بیشتر که میشه ( از لحاظ اندازه و بزرگی اعداد ) صفر بدست میاری اینه که برای اعداد بزرگ در اسمبلی ثبات dx:ax حاوی عدد (نتیجه) میشن نه فقط ax .



    Ramin-hst این نویسه را میپسندد.
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  5. #5
    مدیر بازنشسته
    تاریخ عضویت
    2011 October
    ارسال ها
    29
    تشکر
    118
    تشکر شده 153 بار در 36 پست
    نوشته های وبلاگ
    1


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    کد برنامه و فایل توضیحات اضافه شد

    Hossein این نویسه را میپسندد.

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 01:00 AM بر حسب GMT +4 می باشد.